package com.lywz.biz.dao.scenic;

import java.util.List;

import com.lywz.biz.common.entity.scenic.Attraction;
import com.lywz.biz.common.entity.scenic.Scenic;
import com.lywz.biz.common.entity.scenic.ScenicAround;
import com.lywz.biz.common.entity.scenic.ScenicHomepage;
import com.lywz.biz.common.entity.scenic.ScenicImage;
import com.lywz.biz.common.entity.scenic.ScenicVideo;

/**
 * 景区DAO
 * 
 * @author Huadi Luojun
 * @date 2010-5-3
 */
public interface ScenicDao {

    /**
     * 返回景区列表
     * 
     * @return List<Scenic>
     */
    public List<Scenic> getScenicList() throws Exception;

    /**
     * 根据景区ID返回景区列表
     * 
     * @param Id
     * @return List<Scenic>
     */
    public List<Scenic> getScenicById(Integer Id) throws Exception;

    /**
     * 根据景区类别（风景、文化、民俗）返回景区列表
     * 
     * @param category
     * @return List<Scenic>
     */
    public List<Scenic> getScenicListByCategory(String category) throws Exception;

    /**
     * 根据景区等级（AAAAA、AAAA等）返回景区列表
     * 
     * @param level
     * @return List<Scenic>
     */
    public List<Scenic> getScenicListByLevel(String level) throws Exception;

    /**
     * 根据城市，返回所属该城市的列表
     * 
     * @param city
     * @return List<Scenic>
     */
    public List<Scenic> getScenicListByCity(String city) throws Exception;

    /**
     * 按顺序返回景区主页的列表
     * 
     * @return List<ScenicHomepage>
     * @throws Exception
     */
    public List<ScenicHomepage> getHomepageList() throws Exception;

    /**
     * 按二级页面类别返回景区列表
     * 
     * @param category
     * @return List<ScenicHomepage>
     * @throws Exception
     */
    public List<ScenicHomepage> getCategoryList(Integer category) throws Exception;

    /**
     * 返回周边景区列表
     * 
     * @param scenic
     * @return List<ScenicAround>
     * @throws Exception
     */
    public List<ScenicAround> getScenicAround(Integer scenic) throws Exception;    
    
    /**
     * 返回景区内景点列表
     * @param scenicId
     * @return List<Attraction>
     * @throws Exception
     */
    public List<Attraction> getAttractionList(Integer scenicId) throws Exception;
    /**
     * 返回景区图片列表
     * @param scenicId
     * @return List<ScenicImage>
     * @throws Exception
     */
    public List<ScenicImage> getScenicImage(Integer scenicId) throws Exception;
    /**
     * 返回景区图片列表
     * @param scenicId
     * @return List<ScenicVideo>
     * @throws Exception
     */
    public List<ScenicVideo> getScenicVideo(Integer scenicId) throws Exception;
/**
 * 返回分类景区信息列表
 * @param category
 * @param city
 * @param level
 * @return List<Scenic>
 * @throws Exception
 */
    public List<Scenic> getCategoryScenicList(Integer category, Integer city,Integer level)throws Exception;
}

